home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / editors / mutt / me2b_pl7.zoo / mu_edit2 / mc2 / change next >
Encoding:
Text File  |  1992-08-26  |  2.6 KB  |  61 lines

  1.     -*-text-*-
  2.  
  3.  
  4. Changes to MC and MM.
  5.  
  6. From Mutt 1.x to Mutt 2.x
  7.  
  8. DONE:
  9. - Changed strings to dynamic strings, no length (prototyped 3/91).
  10. - Added MMgc_external_objects() call to mm.c
  11. - Changed to strings-as-objects with garbage collection, did the object
  12.   manager stuff (5/91).
  13. - Added list, extract-element, extract-elements, insert-object
  14.   length-of, remove-elements keywords 6/91.
  15. - Moved functionality of strlen into length-of, removed strlen.
  16. - Added convert-to.  With this, (asc) is just (convert-to NUMBER
  17.   (extract-element text n)).  In CLisp, this is (coerce object
  18.   result-type).
  19. - Moved functionality of substr into extract-elements and
  20.   extract-element, removed substr (12/91).
  21. - Renamed int to small-int and INT to int.  Forgetting that int was only
  22.   16 bits burned me once and thats enough.  I should probably get rid of
  23.   small-int and rename int to number but thats just a bit too drastic
  24.   for this old C hack.  (12/91).
  25. - Changed the format of the errors, warnings line MC2 spits out so it
  26.   doesn't confuse automatic error parsing.  1/92.
  27.  
  28. TODO
  29. - When parsing (length-of) if get a string constant, pack it, don't gen
  30.   a do-op.
  31. - Add (type-of object).  eg (type-of 123) => NUMBER.  Don't know what
  32.   happens when I get user defined objects.  Same as CL.
  33. - Use BLOB less ie add more types: pointer to number (PNUMBER), etc.
  34. ? Trust but verify stack param types.
  35.   (defun foo (int x) { (int a) (a x) })  right now I assume x is an int.
  36.   It might be a better idea to type check x the first time it is used.
  37.   In the token file, have ability to specify what type a extern
  38.   returns.
  39. - Add 0C<character>.  Used like 0X<hex number>.  Or could use CLisp
  40.   notation:  #nnRdddd  R is radix.  so hex is #16r1bc or #x1bc.  #b
  41.   binary (#2r).  0cA == 0CA == #26A
  42. - Parse tabs in token file.
  43. - Add a new token file for pgm mod flags (like HIDDEN).  These are
  44.     passed to me.  Used for interactive.
  45.   Have a file of pgm modifiers (HIDDEN, etc) like the token file.  Then
  46.     stuff like ME have have their own.
  47. - Fix things so breaking or gotoing out of switches does not leave
  48.   stuff on the stack.
  49. ? Make all externs use their own buffer for string.  This is
  50.   because (while TRUE (switch (get-matched) ...  will max the stack when
  51.   it doesn't need to.
  52. ? Add a token file magic number to the token file and verified by
  53.   mmaux.c.  Avoid versionits problems goona have when bindings[] change.
  54. - Change the code table to a dTable.
  55. - Have stufflabel() take a comment to add to the .lst file.
  56. - Structures
  57. - Objects, OOP support
  58. ? add more fields to external token file:  arg types, return values so I
  59.   can type check and save code.  Could also remove need for mmaux to do
  60.   so much type checking.
  61.